home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / prgs / GUI / events_sub.b < prev    next >
Text File  |  1996-09-10  |  998b  |  64 lines

  1. '..Same as events.b but uses SUBs as event-trap handlers.
  2.  
  3. window 1,"Events",(0,0)-(500,150)
  4.  
  5. menu 1,0,1,"Project"
  6. menu 1,1,1,"New"
  7. menu 1,2,1,"Open"
  8. menu 1,3,1,"Quit","Q"
  9.  
  10. gadget 1,ON,"Quit",(100,100)-(150,116),BUTTON
  11.  
  12. '..trap handlers
  13. sub quit
  14.   if not MsgBox("Really Quit?","YES","NO!") then EXIT SUB
  15.   menu clear
  16.   gadget close 1
  17.   window close 1
  18.   stop
  19. end sub
  20.  
  21. sub menu_handler
  22.   x=menu(0) : y=menu(1)
  23.   locate 1,1:print x,y
  24.   if x=1 and y=3 then call quit
  25. end sub
  26.  
  27. sub gadget_handler
  28.   locate 2,1:print gadget(1)
  29.   quit
  30. end sub
  31.  
  32. sub timer_handler
  33.   beep
  34. end sub
  35.  
  36. sub handle_mouse
  37.   row=csrlin:col=pos
  38.   locate 2,40
  39.   print "                ";
  40.   locate 2,40
  41.   print "Mouse:";mouse(1);mouse(2)
  42.   locate row,col
  43. end sub
  44.  
  45. on menu call menu_handler
  46. on gadget call gadget_handler
  47. on window call quit
  48. on break call quit
  49. on mouse call handle_mouse
  50. on timer(1) call timer_handler
  51.  
  52. menu on
  53. gadget on
  54. window on
  55. break on
  56. mouse on
  57. timer on
  58.  
  59. while -1
  60.   SLEEP
  61.   k$ = inkey$
  62.   if k$<>"" then print k$
  63. wend
  64.